/* Die Klasse Wohnsitzadresse
 * 
 * Datei:  Wohnsitzadresse                   Autor:    Martin Fischer
 * Datum:  13.11:2011                        Version:  1.0
 *
 *
 */

package kommunikation;

import java.io.Serializable;

public class Wohnsitzadresse extends Adresse implements Serializable
{
  private static final long serialVersionUID = -9120518986294031809L;
  private String strasse;
  private Hausnummer hausnummer;



  /*
   * Konstruktor der beim erzeugen einer neuen Wohnsitzadresse 
   * aufgerufen wird. Die Hausnummer wird hier als String uebergeben, 
   * falls es sich um eine Hausnummer mit Zusatz handelt
   */
  public Wohnsitzadresse (String ort, String plz,
      String gesamteHausnummer, String strasse)
  {
    super(ort, plz);
    this.hausnummer = new Hausnummer (gesamteHausnummer);
    this.strasse = strasse;
  }
  
  
  /*
   * Konstruktor der beim erzeugen einer neuen Wohnsitzadresse 
   * aufgerufen wird. Die Hausnummer wird hier als String uebergeben, 
   * falls es sich um eine Hausnummer mit Zusatz handelt
   */
  public Wohnsitzadresse (String ort, String plz,
      int hausnummer, String strasse)
  {
    super(ort, plz);
    this.hausnummer = new Hausnummer (hausnummer);
    this.strasse = strasse;
  }


  /*
   * setzt den Namen der Strasse auf einen neuen Wert
   */
  public void setzeStrasse (String strasse)
  {
    this.strasse = strasse;
  }


  /*
   * liefert den Namen der Stasse
   */
  public String gibStrasse ()
  {
    return strasse;
  }


  /*
   * setzt die Hausnummer auf einen neuen Wert
   */
  public void setzeHausnummer (int hausnummer)
  {
    this.hausnummer.setzeHausnummer(hausnummer);
  }


  /*
   * gibt die Hausnummer zurueck
   */
  public int gibHausnummer ()
  {
    return hausnummer.gibHausnummer();
  }


  /*
   * setzt die gesamte Hausnummer mit Zusatz
   */
  public void setzeGesamteHausnummer (String gesamteHausnummer)
  {
    this.hausnummer.setzeGesamteHausnummer(gesamteHausnummer);
  }


  /*
   * liefert die gesamte Hausnummer mit Zusatz
   */
  public String gibGesamteHausnummer ()
  {
    return hausnummer.gibGesamteHausnummer();
  }


  /*
   * Liefert die Gesamte Wohnsitzadresse als String
   */
  public String toString ()
  {
    return gibStrasse() + " " + gibGesamteHausnummer() + "\n" + 
    gibPLZ() + " " + gibOrt();
  }
}
